﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Common;

namespace Entidades.jSON
{
    public class CostoInfo
    {
        #region Constructores

        /// <summary>
        /// Constructor por defecto
        /// </summary>
        public CostoInfo()
        {
        }

        /// <summary>
        /// Construye un objeto CostoInfo a partir de un Costo
        /// </summary>
        public CostoInfo(Costo costo)
        {
            this.Id = costo.Id;

            this.IdTipoProyecto = costo.TipoProyecto.IsNotNull() ? costo.TipoProyecto.Id : WellKnownKeys.Entities.DEFAULT_ID;
            this.Adaptacion = costo.Adaptacion;
            this.Cancion = costo.Cancion;
            this.Coro = costo.Coro;
            this.Direccion = costo.Direccion;
            this.LoopMinimo = costo.LoopMinimo;
            this.Loops = costo.Loops;
            this.Mezcla = costo.Mezcla;
            this.Palabras = costo.Palabras;
            this.Traduccion = costo.Traduccion;
            this.Temporizacion = costo.Temporizacion;
        }

        #endregion

        #region Propiedades

        /// <summary>
        /// Id (PK)
        /// </summary>
        public int Id { get; set; }

        /// <summary>
        /// Id del Tipo de Proyecto
        /// </summary>
        public int IdTipoProyecto { get; set; }

        /// <summary>
        /// Loops
        /// </summary>
        public decimal Loops { get; set; }

        /// <summary>
        /// Loop Mínimo
        /// </summary>
        public decimal LoopMinimo { get; set; }

        /// <summary>
        /// Canción
        /// </summary>
        public decimal Cancion { get; set; }

        /// <summary>
        /// Coro
        /// </summary>
        public decimal Coro { get; set; }

        /// <summary>
        /// Palabras
        /// </summary>
        public decimal Palabras { get; set; }

        /// <summary>
        /// Dirección
        /// </summary>
        public decimal Direccion { get; set; }

        /// <summary>
        /// Traducción
        /// </summary>
        public decimal Traduccion { get; set; }

        /// <summary>
        /// Adaptación
        /// </summary>
        public decimal Adaptacion { get; set; }

        /// <summary>
        /// Mezcla
        /// </summary>
        public decimal Mezcla { get; set; }

        /// <summary>
        /// Temporización
        /// </summary>
        public decimal Temporizacion { get; set; }

        #endregion
    }
}
